//
//  YCVistorVC.swift
//  YCWeiBoSwift
//
//  Created by 刘胤辰 on 16/7/19.
//  Copyright © 2016年 it.com. All rights reserved.
//

import UIKit
import SnapKit

class YCVistorVC: UITabBarController {

    
    let isVistor = !(SHUserAccountViewModel.sharedTools.isLogin)
    
    // MARK : -- 懒加载
    lazy var vistorView:YCVistorView=YCVistorView()
    lazy var tableView:UITableView=UITableView()
    lazy var refresh:SHRefreshControl=SHRefreshControl()
    lazy var pullView=UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray)
    
    lazy var dataArray = [Int]()
    override func viewDidLoad() {
        super.viewDidLoad()
        
//        loadData()
        
        vistorView.closure={
            
            self.presentViewController(UINavigationController(rootViewController: YCLoadOAuthVC()), animated: true, completion: nil)
        }
        
        setUI()
    }
    
    func setUI(){
        //添加刷新视图
        //setRefreshControll()
        
        pullView.tintColor=UIColor.redColor()
        pullView.startAnimating()
    }
    
    func setRefreshControll(){
        
        //添加刷新视图
        tableView.addSubview(refresh)
        
        //设置refresh的监听方法
        refresh.addTarget(self, action: "loadData", forControlEvents: UIControlEvents.ValueChanged)
        
        tableView.tableFooterView=pullView
    }
    
//    func loadData(){
//        
//        print("父类的方法")
//    
//        //加载数据
//        dispatch_async(dispatch_get_global_queue(0, 0)) { () -> Void in
//            
//            NSThread.sleepForTimeInterval(1.0)
//            var tempArray=[Int]()
//            
//            if self.pullView.isAnimating()==true {
//                
//                //插入数据
//                for i in (0..<10){
//                    
//                    let num=i + (self.dataArray.first ?? 100) + 1
//                    
//                    tempArray.append(num)
//                }
//                
//                self.dataArray = self.dataArray + tempArray
//            }
//            
//            if self.refresh.refreshing==true {
//                
//                //插入数据
//                for i in (0..<10).reverse(){
//                    
//                    let num=i + (self.dataArray.first ?? 100) + 1
//                    
//                    tempArray.append(num)
//                }
//                
//                self.dataArray = tempArray + self.dataArray
//            }
//            
//            
//            //刷新UI
//            dispatch_async(dispatch_get_main_queue(), { () -> Void in
//                
//                self.tableView.reloadData()
//                self.refresh.endRefreshing()
//            })
//        }
//    }
    
    func click(){
        
        presentViewController(UINavigationController(rootViewController: YCLoadOAuthVC()), animated: true, completion: nil)
    }
    
    override func loadView() {
        
        if isVistor {
            //加载访客视图界面
            loadVistorView()
        }else{
            //加载用户界面
            loadUserView()
        }
    }
    
    func loadUserView(){
        
        view=tableView
        
        tableView.delegate=self
        tableView.dataSource=self
        
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "vistorCell")
    }
    
    // MARK : --代理
    func loadVistorView(){
        
        view=vistorView
        
        let leftBar=YCBarItem(title: "登录", imageName: nil, target: self, action: "click")
        navigationItem.leftBarButtonItem=leftBar
        
        let rightBar=YCBarItem(title: "注册", imageName: nil, target: self, action: "click")
        navigationItem.rightBarButtonItem=rightBar
        
    }

}


// MARK : -- 数据源和代理方法
extension YCVistorVC : UITableViewDelegate, UITableViewDataSource {
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        
        return 1
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        return dataArray.count
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        let cell=tableView.dequeueReusableCellWithIdentifier("vistorCell", forIndexPath: indexPath)
        
        cell.textLabel?.text="\(dataArray[indexPath.item])"
        
        return cell
    }
    
    // MARK: -- 代理方法
    func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        
        let maxSection = tableView.numberOfSections-1
        let maxRow = tableView.numberOfRowsInSection(maxSection)-1
        
        if indexPath.section == maxSection && indexPath.row == maxRow {
//            loadData()
        }
        
    }
    
}
